(function() {
	var $ = require(L('$'));
	var enums = {};

	enums.SortTypeMyDesire = {
		SortBy : {
			value : -1,
			name : 'Sort by',
			isVisible : false
		},
		Newest : {
			value : 0,
			name : 'Newest first',
			isVisible : true
		},
		Oldest : {
			value : 1,
			name : 'Oldest first',
			isVisible : true
		},
		PriceHighest : {
			value : 2,
			name : 'Highest price',
			isVisible : true
		},
		PriceLowest : {
			value : 3,
			name : 'Lowest price',
			isVisible : true
		}
	};
	enums.getSortTypeMyDesire = function() {
		return createList(enums.SortTypeMyDesire);
	};
	enums.RefineTypeMyDesire = {
		Refine : {
			value : -1,
			name : 'Refine',
			isVisible : false
		},
		ShowAll : {
			value : 0,
			name : 'Show all',
			isVisible : true
		},
		LiveOffers : {
			value : 8,
			name : 'Live offers',
			isVisible : true
		}
	};
	enums.getRefineTypeMyDesire = function() {
		return createList(enums.RefineTypeMyDesire);
	};
	enums.SortTypePurchase = {
		SortBy : {
			value : -1,
			name : 'Sort by',
			isVisible : false
		},
		Newest : {
			value : 0,
			name : 'Newest first',
			isVisible : true
		},
		Oldest : {
			value : 1,
			name : 'Oldest first',
			isVisible : true
		}
	};
	enums.getSortTypePurchase = function() {
		return createList(enums.SortTypePurchase);
	};
	enums.RefineTypePurchase = {
		Refine : {
			value : -1,
			name : 'Refine',
			isVisible : false
		},
		ShowAll : {
			value : 0,
			name : 'Show all',
			isVisible : true
		},
	};

	function createList(source) {
		var array = new Array();
		for (var item in source) {
			if (item && source[item] && source[item].name && source[item].isVisible) {
				array.push($.model('name_value')(source[item].name, source[item].value));
			}
		}
		return array;
	}


	module.exports = enums;
})();
